using System.Collections.Generic;
using TelerikMvcGridCustomBindingHelper.Mapper;

namespace ExampleWebApplication.Infraestruture
{
    // For NHibernate
    public class BooleanSubstitute : IBooleanSubstitute
    {
        public IList<object> TrueValues()
        {
            return new[] { "true" };
        }

        public IList<object> FalseValues()
        {
            return new[] { "false", null };
        }
    }

    // For EntityFramework
    public class EfBooleanSubstitute : IBooleanSubstitute
    {
        public IList<object> TrueValues()
        {
            return new List<object> { true };
        }

        public IList<object> FalseValues()
        {
            return new List<object> { false, null };
        }
    }

    // For NHibernate
    public class GlobalBooleanSubstitute : IBooleanSubstitute
    {
        public IList<object> TrueValues()
        {
            return new[] { "true" };
        }

        public IList<object> FalseValues()
        {
            return new[] { "false", null };
        }
    }

    // For EntityFramework
    public class EfGlobalBooleanSubstitute : IBooleanSubstitute
    {
        public IList<object> TrueValues()
        {
            return new List<object> { true };
        }

        public IList<object> FalseValues()
        {
            return new List<object> { false, null };
        }
    }
}